# ==========================================================
# 第一阶段：基于现有基础镜像完成 Maven 构建和 GraalVM 编译 (Build Stage)
# ==========================================================
FROM pdk-graalvm17-ol9-mvn3.9.10 AS build

# 设置工作目录
WORKDIR /app

COPY . .

RUN mvn -Pnative native:compile


# ==========================================================
# 第二阶段：精简运行环境 (Runtime Stage)
# ==========================================================
FROM oraclelinux:9-slim AS runtime

# 设置工作目录
WORKDIR /app

# 将构建阶段的原生可执行文件复制到运行镜像
COPY --from=build /app/target/graalvm-demo /app/graalvm-demo

# 确保可执行文件有运行权限
RUN chmod +x /app/graalvm-demo

# 暴露服务使用的端口
EXPOSE 8080

# 设置启动命令（运行原生二进制文件）
CMD ["/app/graalvm-demo"]



# 控制台执行 docker buildx build --platform linux/amd64 -t graalvm-demo:latest .